home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / backup / kbackup-.000 / KBackup-1.2.7.tar / KBackup / src / dialog < prev    next >
Text File  |  1996-02-13  |  2KB  |  125 lines

  1. #!/bin/sh
  2. #
  3. # replacement for dialog
  4. #
  5. # dialog,v 1.3 1996/02/13 20:52:37 kbackup Exp
  6. #
  7. MASK=/tmp/mask$$
  8. LINE="-------------------------------------------------------------------------------"
  9.  
  10. dialog_menu()
  11. {
  12.     echo -e "$1" >>$MASK; shift    # menu text
  13.     shift; shift;shift;    # skip width, height, height
  14.     allowed=
  15.     while [ $# -gt 0 ]
  16.     do
  17.         echo $1    -    $2 >>$MASK
  18.         allowed="$allowed $1"
  19.         shift; shift
  20.     done
  21.     valid=NO
  22.     while [ "$valid" = "NO" ]
  23.     do
  24.         cat $MASK
  25.         echo -n " > " 
  26.         read input
  27.         input=`echo $input | tr a-z A-Z`
  28.         for i in $allowed  
  29.         do
  30.             if [ "$i" = "$input" ]
  31.             then 
  32.                 valid=YES
  33.                 echo $i>&2
  34.                 return 0
  35.             fi
  36.         done
  37.     done
  38. }
  39.  
  40. dialog_inputbox()
  41. {
  42.     echo -e "$1">>$MASK
  43.     cat $MASK
  44.     echo -n " > "
  45.     read input
  46.     echo $input >&2
  47. }
  48.  
  49. dialog_yesno()
  50. {
  51.     echo -e "$1" >>$MASK
  52.     valid=NO
  53.     while [ $valid = NO ]
  54.     do
  55.         cat $MASK
  56.         echo -en "\nPlease choose: [Y]es    [N]o > " 
  57.         read input
  58.         if [ "$input" = "Y" -o "$input" = "y" ]
  59.         then
  60.             return 0
  61.         fi
  62.         if [ "$input" = N -o "$input" = n ]
  63.         then
  64.             return 1
  65.         fi
  66.     done
  67. }
  68.  
  69.  
  70. dialog()
  71. {
  72.     clear >$MASK
  73.     if [ "$1" = "--backtitle" ]
  74.     then
  75.         echo $2>>$MASK
  76.         shift;shift
  77.         echo $LINE >>$MASK
  78.     fi
  79.     if [ "$1" = "--title" ]
  80.     then
  81.         echo $2>>$MASK
  82.         shift;shift
  83.     fi
  84.  
  85.     case $1 in
  86.     --menu)
  87.         shift
  88.         dialog_menu "$@"
  89.         ;;
  90.     --msgbox)
  91.         echo -e "$2" 
  92.         echo -n "Press Enter to continue..."
  93.         read
  94.         ;;
  95.     --textbox)
  96.         shift
  97.         less $1
  98.         ;;
  99.     --yesno)
  100.         shift
  101.         dialog_yesno "$@"
  102.         retval=$?
  103.         rm $MASK
  104.         return $retval
  105.         ;;
  106.     --infobox)
  107.         shift
  108.         echo
  109.         echo -e "$1"
  110.         echo
  111.         ;;
  112.     --inputbox)
  113.         shift
  114.         dialog_inputbox "$@"
  115.         ;;
  116.         
  117.     *)    echo $1 not implemented
  118.         rm $MASK
  119.         return 1
  120.         ;;
  121. esac
  122. rm $MASK
  123. }
  124.  
  125.